File Export এবং PDF Conversion

Java Technologies - অ্যাপাচি পিওআই (Apache POI)
248

Apache POI ব্যবহার করে আপনি Excel, Word, এবং PowerPoint ফাইল তৈরি বা সম্পাদনা করতে পারেন, তবে PDF ফাইলে রূপান্তর (PDF Conversion) করতে Apache POI সরাসরি কোন API প্রদান করে না। তবে, Apache POI-তে তৈরি করা ডকুমেন্ট থেকে PDF ফাইল তৈরি করার জন্য আমরা কিছু বাইরের লাইব্রেরি ব্যবহার করতে পারি, যেমন Apache FOP, iText, বা Aspose। এছাড়া, আপনি Apache POI-র মাধ্যমে ফাইল তৈরি করে, পরে সেগুলিকে PDF ফরম্যাটে রূপান্তর করতে পারবেন।

এখানে আমরা দেখব কিভাবে Excel এবং Word ফাইলকে PDF-তে রূপান্তর করতে হয়।


১. Excel ফাইল থেকে PDF Conversion

Excel ফাইল থেকে PDF রূপান্তর করার জন্য Apache POI একে সরাসরি সমর্থন না করলেও, Apache FOP বা iText ব্যবহার করা যেতে পারে। তাছাড়া, Microsoft Office বা LibreOffice এর কমান্ড লাইন টুল ব্যবহার করে Excel ফাইলকে PDF-তে রূপান্তর করা সম্ভব।

১.১ iText এবং Apache POI ব্যবহার করে Excel থেকে PDF রূপান্তর

import com.itextpdf.text.*;
import com.itextpdf.text.pdf.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.*;

public class ExcelToPdfExample {

    public static void main(String[] args) throws Exception {
        // Excel ফাইল লোড
        FileInputStream excelFile = new FileInputStream(new File("example.xlsx"));
        Workbook workbook = new XSSFWorkbook(excelFile);
        Sheet sheet = workbook.getSheetAt(0);

        // PDF ডকুমেন্ট তৈরি
        Document pdfDoc = new Document();
        PdfWriter.getInstance(pdfDoc, new FileOutputStream("output.pdf"));
        pdfDoc.open();

        // Excel শীট থেকে PDF-তে তথ্য লেখার জন্য Loop
        for (Row row : sheet) {
            PdfPTable pdfTable = new PdfPTable(row.getPhysicalNumberOfCells());
            for (Cell cell : row) {
                pdfTable.addCell(cell.toString());
            }
            pdfDoc.add(pdfTable);
        }

        pdfDoc.close();
        workbook.close();
        excelFile.close();

        System.out.println("Excel ফাইল সফলভাবে PDF-তে রূপান্তরিত হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • XSSFWorkbook: Excel (XLSX) ফাইল খোলার জন্য ব্যবহৃত।
  • PdfWriter: PDF ফাইলে ডাটা লেখার জন্য ব্যবহৃত।
  • PdfPTable: Excel থেকে আসা ডাটা PDF টেবিল হিসেবে যোগ করার জন্য ব্যবহৃত।

এটি এক ধরনের Excel-to-PDF রূপান্তর। আপনি iText ব্যবহার করে Excel ডাটাকে PDF-এ রূপান্তর করতে পারেন।


২. Word ফাইল থেকে PDF Conversion

Word ফাইল থেকে PDF রূপান্তরের জন্য আমরা Apache POI ব্যবহার করে Word ফাইল তৈরি করতে পারি এবং পরে iText বা Apache FOP ব্যবহার করে রূপান্তর করতে পারি। তবে, এই রূপান্তরের জন্য Apache POI সরাসরি সমর্থন প্রদান করে না।

২.১ Apache FOP এবং Apache POI ব্যবহার করে Word থেকে PDF রূপান্তর

এখানে Apache FOP বা Aspose এর মত শক্তিশালী টুলস ব্যবহৃত হয়, তবে এগুলোর অনেকটাই লাইসেন্স/পেইড ফিচার হতে পারে।


৩. PowerPoint ফাইল থেকে PDF Conversion

PowerPoint (PPTX) ফাইল থেকে PDF রূপান্তর করার জন্য Apache POI সরাসরি সমর্থন না করলেও, আপনি LibreOffice বা Microsoft Office এর কমান্ড লাইন টুল ব্যবহার করতে পারেন। আপনি PowerPoint ফাইল তৈরি করার পরে Microsoft Office বা LibreOffice API বা কমান্ড লাইন টুল ব্যবহার করে PDF-তে রূপান্তর করতে পারেন।

৩.১ Microsoft Office COM API ব্যবহার করে PPT থেকে PDF রূপান্তর

import com.jacob.com.Dispatch;
import com.jacob.com.Variant;

public class PPTToPdfExample {

    public static void main(String[] args) {
        // COM API-র মাধ্যমে Microsoft PowerPoint চালু করা
        com.jacob.com.LibraryLoader.loadLibrary("jacob-1.18-x64.dll");
        Dispatch pptApp = new Dispatch("PowerPoint.Application");

        // PPT ফাইল লোড করা
        Dispatch presentations = Dispatch.get(pptApp, "Presentations").toDispatch();
        Dispatch presentation = Dispatch.call(presentations, "Open", "input.pptx").toDispatch();

        // PDF ফরম্যাটে সেভ করা
        Dispatch.call(presentation, "SaveAs", "output.pdf", 32);  // 32 হল PDF ফরম্যাট কোড

        // PowerPoint অ্যাপ বন্ধ করা
        Dispatch.call(presentation, "Close");
        Dispatch.call(pptApp, "Quit");
        
        System.out.println("PowerPoint ফাইল সফলভাবে PDF-তে রূপান্তরিত হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • COM API (Jacob Library): এটি Microsoft Office এর সাথে যোগাযোগের জন্য ব্যবহৃত হয়।
  • SaveAs: PowerPoint ফাইলকে PDF হিসেবে সেভ করা হচ্ছে।

৪. LibreOffice কমান্ড লাইন ব্যবহার করে ফাইল রূপান্তর

LibreOffice এ headless mode ব্যবহার করে আপনি Excel, Word এবং PowerPoint ফাইল থেকে PDF তৈরি করতে পারেন।

উদাহরণ: LibreOffice কমান্ড লাইন ব্যবহার করে Excel থেকে PDF রূপান্তর

libreoffice --headless --convert-to pdf example.xlsx

এই কমান্ডটি example.xlsx ফাইলকে PDF ফাইলে রূপান্তরিত করবে।


সারাংশ

Apache POI সরাসরি PDF Conversion সমর্থন না করলেও, আপনি কিছু বাইরের টুলস ব্যবহার করে Excel, Word, এবং PowerPoint ফাইলকে PDF-এ রূপান্তর করতে পারেন। iText, Apache FOP, Aspose, অথবা Microsoft Office COM API এর মাধ্যমে এই কাজটি করা সম্ভব। LibreOffice এর headless mode ব্যবহার করেও ফাইল রূপান্তর করা যেতে পারে।

Content added By

Excel, Word এবং PowerPoint ফাইল এক্সপোর্ট করা

155

Apache POI লাইব্রেরি ব্যবহার করে আপনি Microsoft Office ফাইল (Excel, Word, PowerPoint) তৈরি, ম্যানিপুলেট এবং এক্সপোর্ট করতে পারেন। এক্সপোর্ট করার মাধ্যমে আপনি ডেটা বা কনটেন্ট নির্দিষ্ট ফরম্যাটে সংরক্ষণ করতে পারবেন, যা অন্য কোন সিস্টেম বা প্রোগ্রামে ব্যবহার করা যায়। এখানে Excel, Word এবং PowerPoint ফাইল এক্সপোর্ট করার কৌশল নিয়ে আলোচনা করা হবে।


১. Excel ফাইল এক্সপোর্ট করা (XSSF/HSSF)

Apache POI এর মাধ্যমে আপনি Excel ফাইল (XLSX বা XLS) এক্সপোর্ট করতে পারেন। এটি বিশেষভাবে XSSF (Excel 2007+ XML format) বা HSSF (Excel 97-2003 format) ব্যবহার করে করা যায়।

উদাহরণ: Excel ফাইল এক্সপোর্ট করা (XSSF)

import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Cell;

import java.io.FileOutputStream;
import java.io.IOException;

public class ExportExcelExample {
    public static void main(String[] args) throws IOException {
        // নতুন XSSFWorkbook তৈরি করা
        XSSFWorkbook workbook = new XSSFWorkbook();
        
        // শীট তৈরি করা
        XSSFSheet sheet = workbook.createSheet("Sheet1");

        // নতুন রো এবং সেল তৈরি করা
        Row row = sheet.createRow(0);
        Cell cell = row.createCell(0);
        cell.setCellValue("Hello, Apache POI!");

        // এক্সেল ফাইল সেভ করা
        FileOutputStream fileOut = new FileOutputStream("example.xlsx");
        workbook.write(fileOut);
        fileOut.close();
        
        workbook.close();
    }
}

এই কোডটি একটি .xlsx এক্সেল ফাইল তৈরি করবে এবং তাতে "Hello, Apache POI!" টেক্সট সেল হিসেবে যুক্ত করবে।

উদাহরণ: Excel ফাইল এক্সপোর্ট করা (HSSF)

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Cell;

import java.io.FileOutputStream;
import java.io.IOException;

public class ExportExcelHSSFExample {
    public static void main(String[] args) throws IOException {
        // নতুন HSSFWorkbook তৈরি করা
        HSSFWorkbook workbook = new HSSFWorkbook();

        // শীট তৈরি করা
        org.apache.poi.ss.usermodel.Sheet sheet = workbook.createSheet("Sheet1");

        // নতুন রো এবং সেল তৈরি করা
        Row row = sheet.createRow(0);
        Cell cell = row.createCell(0);
        cell.setCellValue("Hello, Apache POI!");

        // এক্সেল ফাইল সেভ করা
        FileOutputStream fileOut = new FileOutputStream("example.xls");
        workbook.write(fileOut);
        fileOut.close();
        
        workbook.close();
    }
}

এই কোডটি একটি .xls এক্সেল ফাইল তৈরি করবে এবং তাতে "Hello, Apache POI!" টেক্সট সেল হিসেবে যুক্ত করবে।


২. Word ফাইল এক্সপোর্ট করা (XWPF)

Apache POI ব্যবহার করে আপনি Word ফাইল (DOCX) এক্সপোর্ট করতে পারেন। XWPFDocument ক্লাস ব্যবহার করে আপনি নতুন ডকুমেন্ট তৈরি এবং কনটেন্ট এক্সপোর্ট করতে পারবেন।

উদাহরণ: Word ফাইল এক্সপোর্ট করা

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

import java.io.FileOutputStream;
import java.io.IOException;

public class ExportWordExample {
    public static void main(String[] args) throws IOException {
        // নতুন XWPFDocument তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText("Hello, Apache POI!");

        // Word ফাইল সেভ করা
        FileOutputStream out = new FileOutputStream("example.docx");
        document.write(out);
        out.close();
    }
}

এই কোডটি একটি .docx Word ফাইল তৈরি করবে এবং তাতে "Hello, Apache POI!" টেক্সট প্যারাগ্রাফ হিসেবে যুক্ত করবে।


৩. PowerPoint ফাইল এক্সপোর্ট করা (XSLF)

Apache POI এর HSLF এবং XSLF ক্লাসগুলি PowerPoint ফাইল এক্সপোর্ট করতে ব্যবহৃত হয়। XSLF (XML Slide Layout Format) ব্যবহার করে আপনি PPTX ফাইল তৈরি এবং কনটেন্ট এক্সপোর্ট করতে পারেন।

উদাহরণ: PowerPoint ফাইল এক্সপোর্ট করা

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTextShape;

import java.io.FileOutputStream;
import java.io.IOException;

public class ExportPowerPointExample {
    public static void main(String[] args) throws IOException {
        // নতুন XMLSlideShow তৈরি করা
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি করা
        XSLFSlide slide = ppt.createSlide();

        // টেক্সট শেপ তৈরি এবং স্লাইডে যোগ করা
        XSLFTextShape title = slide.createTextBox();
        title.setText("Hello, Apache POI!");

        // PowerPoint ফাইল সেভ করা
        FileOutputStream out = new FileOutputStream("example.pptx");
        ppt.write(out);
        out.close();
    }
}

এই কোডটি একটি .pptx PowerPoint ফাইল তৈরি করবে এবং তাতে "Hello, Apache POI!" টেক্সট স্লাইডে যোগ করবে।


৪. File Exporting Best Practices

এক্সপোর্ট করার সময় কিছু গুরুত্বপূর্ণ বিষয় মাথায় রাখা প্রয়োজন:

  • Error Handling: ফাইল এক্সপোর্ট করার সময় সম্ভাব্য IOException বা অন্যান্য এক্সপোর্ট সম্পর্কিত ত্রুটি নিয়ে কাজ করতে হবে।
  • Memory Management: বড় ডেটা এক্সপোর্ট করার সময় মেমরি ব্যবহারের প্রতি মনোযোগ দিতে হবে, যেমন BufferedOutputStream ব্যবহার করা।
  • File Paths: ফাইল সঠিক লোকেশনে সেভ করা এবং ফাইলের নামের unique হওয়া নিশ্চিত করা।
  • File Size: বড় ফাইল এক্সপোর্ট করার সময় সঠিক সাইজের কনফিগারেশন প্রক্রিয়া এবং ইমেজ বা অন্যান্য মিডিয়া ফাইলগুলোর সাথে ডেটা ম্যানিপুলেশন সাবধানে করা উচিত।

সারাংশ

Apache POI লাইব্রেরির সাহায্যে আপনি Excel, Word এবং PowerPoint ফাইল তৈরি এবং এক্সপোর্ট করতে পারেন। Excel ফাইলের জন্য XSSF এবং HSSF ক্লাস ব্যবহার করা হয়, Word ফাইলের জন্য XWPFDocument, এবং PowerPoint ফাইলের জন্য XSLF ক্লাস ব্যবহার করতে হয়। এই ক্লাসগুলি ব্যবহার করে আপনি কাস্টম ডেটা যোগ করতে পারেন, যেমন টেক্সট, টেবিল, ছবি, এবং অন্যান্য উপাদান।

এই ফিচারগুলো আপনাকে Microsoft Office ফাইলগুলি সিস্টেম থেকে এক্সপোর্ট করে অন্য সিস্টেম বা অ্যাপ্লিকেশনসে ব্যবহারের জন্য প্রস্তুত করতে সহায়তা করবে।

Content added By

PDF ফরম্যাটে কনভার্ট করা

194

Apache POI সরাসরি Word বা Excel ডকুমেন্টকে PDF ফরম্যাটে কনভার্ট করার জন্য কোন API সরবরাহ করে না। তবে, আপনি Apache POI এবং অন্য কিছু লাইব্রেরি ব্যবহার করে এই কনভার্টিং প্রক্রিয়া সম্পাদন করতে পারেন। এর মধ্যে একটি জনপ্রিয় পদ্ধতি হলো Apache FOP (Formatting Objects Processor) এবং iText লাইব্রেরির মাধ্যমে POI ডকুমেন্টকে PDF এ কনভার্ট করা।

এখানে আমরা দেখব কিভাবে Apache POI ডকুমেন্টকে PDF ফরম্যাটে কনভার্ট করা যায়।


1. Apache POI থেকে PDF কনভার্ট করার জন্য উপকরণ

কনভার্ট করার জন্য সাধারণত দুটি প্রধান লাইব্রেরি ব্যবহার করা হয়:

  • Apache POI: Word, Excel, PowerPoint ফাইল প্রক্রিয়া করার জন্য।
  • iText: PDF ফাইল তৈরি এবং কাস্টমাইজেশনের জন্য।

2. iText লাইব্রেরি ব্যবহার করে POI ডকুমেন্ট PDF তে কনভার্ট করা

iText হল একটি জনপ্রিয় ওপেন সোর্স লাইব্রেরি যা PDF তৈরি ও সম্পাদনা করতে ব্যবহৃত হয়। এটি Apache POI ডকুমেন্টের কনটেন্টকে PDF ফরম্যাটে রেন্ডার করতে সাহায্য করে।

উদাহরণ: POI ডকুমেন্টকে PDF ফরম্যাটে কনভার্ট করা

এই উদাহরণে Apache POI এর XWPFDocument (Word ডকুমেন্ট) কে iText ব্যবহার করে PDF এ কনভার্ট করা হয়েছে।

import com.itextpdf.text.*;
import com.itextpdf.text.pdf.PdfWriter;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class ConvertWordToPDF {
    public static void main(String[] args) throws Exception {
        // Word ডকুমেন্ট লোড করা
        FileInputStream fis = new FileInputStream("input_word_file.docx");
        XWPFDocument document = new XWPFDocument(fis);

        // iText PDF ডকুমেন্ট তৈরি করা
        Document pdfDocument = new Document();
        PdfWriter.getInstance(pdfDocument, new FileOutputStream("output_pdf_file.pdf"));
        
        pdfDocument.open();
        
        // POI ডকুমেন্টের প্যারাগ্রাফ গুলোকে PDF ডকুমেন্টে যোগ করা
        for (XWPFParagraph paragraph : document.getParagraphs()) {
            pdfDocument.add(new Paragraph(paragraph.getText()));
        }

        // PDF ডকুমেন্ট বন্ধ করা
        pdfDocument.close();
        fis.close();
    }
}

এখানে:

  • XWPFDocument ব্যবহার করে Word ফাইলটি লোড করা হয়েছে।
  • iText লাইব্রেরি দিয়ে একটি নতুন PDF ডকুমেন্ট তৈরি করা হয়েছে।
  • getParagraphs() মেথড ব্যবহার করে Word ডকুমেন্টের প্যারাগ্রাফগুলো PDF ডকুমেন্টে যোগ করা হয়েছে।

3. Apache POI + Apache FOP ব্যবহার করে PDF কনভার্ট করা

Apache FOP (Formatting Objects Processor) হল একটি ওপেন সোর্স ফ্রেমওয়ার্ক যা XML ডেটাকে বিভিন্ন আউটপুট ফরম্যাটে কনভার্ট করতে ব্যবহৃত হয়, যেমন PDFApache POI এর সাথে Apache FOP ব্যবহার করে আপনি Word অথবা Excel ফাইলকে PDF এ কনভার্ট করতে পারেন।

উদাহরণ: POI ডকুমেন্টকে FOP ব্যবহার করে PDF তে কনভার্ট করা

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.xmlgraphics.xmp.Metadata;
import org.apache.fop.apps.*;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class POIToPDFUsingFOP {
    public static void main(String[] args) throws Exception {
        // Word ফাইল লোড করা
        FileInputStream fis = new FileInputStream("input_word_file.docx");
        XWPFDocument document = new XWPFDocument(fis);

        // FOP সিস্টেম কনফিগারেশন সেট করা
        FopFactory fopFactory = FopFactory.newInstance(new java.io.File("fop.xconf"));
        FileOutputStream out = new FileOutputStream("output_pdf_using_fop.pdf");

        // FOP প্রসেসর তৈরি করা
        Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, out);

        // FOP এক্সএমএল ডেটা প্রসেসিং
        // (এখানে XML ডেটা তৈরি করা এবং FOP কনভার্ট করা হবে)
        
        // Word ডকুমেন্ট থেকে টেক্সট বের করা
        for (XWPFParagraph paragraph : document.getParagraphs()) {
            System.out.println(paragraph.getText());  // Word টেক্সট প্রিন্ট করা
        }

        // ফাইল স্ট্রিম বন্ধ করা
        out.close();
        fis.close();
    }
}

এখানে:

  • FopFactory এবং Fop ব্যবহার করে FOP কনভার্টার তৈরি করা হয়েছে।
  • Apache POI ডকুমেন্টের টেক্সট FOP প্রসেসরের মাধ্যমে PDF তে কনভার্ট করার জন্য প্রস্তুত করা হয়েছে।

4. ফাইল সাইজ এবং পারফরমেন্স অপটিমাইজেশন

যেহেতু PDF কনভার্ট করা সাধারণত কিছুটা ভারী কাজ, তাই যদি ফাইল বড় হয় বা অনেক ফর্ম্যাটিং থাকে, তাহলে কিছু পারফরমেন্স অপটিমাইজেশন করা উচিত। এখানে কিছু সাধারণ টিপস:

  • Streaming ব্যবহার করুন বড় ডকুমেন্টগুলোর জন্য যাতে সিস্টেম রেসোর্সগুলো একসাথে না চলে যায়।
  • Compression ব্যবহার করুন, বিশেষত চিত্র এবং মিডিয়া ফাইলগুলো কম্প্রেস করার জন্য।
  • Memory management ভালোভাবে করুন যাতে Java heap খুব দ্রুত ফিল না হয়ে যায়।

সারাংশ

Apache POI সরাসরি PDF কনভার্ট করার জন্য একটি সম্পূর্ণ সমাধান প্রদান করে না, তবে আপনি iText বা Apache FOP এর মতো লাইব্রেরি ব্যবহার করে Word বা Excel ফাইলগুলোকে PDF তে কনভার্ট করতে পারেন। iText সাধারণত Word ডকুমেন্টের Text কনভার্ট করার জন্য ব্যবহার করা হয়, যেখানে Apache FOP XML এবং অন্যান্য ডেটা কনভার্ট করার জন্য কার্যকর।

এই কনভার্সন প্রক্রিয়া Java এ দক্ষভাবে করা যায় এবং আপনি যদি POI এবং অন্যান্য লাইব্রেরির সঠিকভাবে ব্যবহার করেন, তবে খুবই সহজেই PDF ফাইল তৈরি করতে পারবেন।

Content added By

PDFBox ব্যবহার করে PDF ফাইল ম্যানিপুলেশন

147

অ্যাপাচি পিওআই (Apache POI) মূলত Microsoft Office ফাইল (Excel, Word, PowerPoint) পরিচালনা করার জন্য ডিজাইন করা হলেও, PDF ফাইল ম্যানিপুলেশন করার জন্য অ্যাপাচি PDFBox লাইব্রেরি ব্যবহৃত হয়। Apache PDFBox একটি ওপেন সোর্স Java লাইব্রেরি যা PDF ফাইল তৈরি, পড়া, লেখা এবং ম্যানিপুলেশন করার জন্য ব্যবহৃত হয়। POI এবং PDFBox এর একত্রিত ব্যবহারের মাধ্যমে, আপনি PDF ফাইলের কন্টেন্ট প্রসেস করতে এবং প্রয়োজনীয় পরিবর্তন করতে পারবেন।

এখানে PDFBox এর মাধ্যমে PDF ফাইলের ম্যানিপুলেশন সম্পর্কিত কিছু সাধারণ উদাহরণ দেওয়া হলো।


PDF ফাইল পড়া

PDF ফাইল থেকে টেক্সট এক্সট্র্যাক্ট করা

PDF ফাইল থেকে টেক্সট এক্সট্র্যাক্ট করার জন্য PDFTextStripper ক্লাস ব্যবহার করা হয়। এটি PDF ফাইলের প্রতিটি পৃষ্ঠার টেক্সট বের করে আনে।

// Example of extracting text from a PDF file using PDFBox
PDDocument document = PDDocument.load(new File("example.pdf"));
PDFTextStripper stripper = new PDFTextStripper();

// Extract text from the PDF
String text = stripper.getText(document);
System.out.println(text);

document.close();

এখানে PDFTextStripper ব্যবহার করে PDF ফাইল থেকে সমস্ত টেক্সট এক্সট্র্যাক্ট করা হয়েছে। এটি প্রতিটি পৃষ্ঠা থেকে টেক্সট বের করে।


PDF ফাইলে নতুন পৃষ্ঠা যোগ করা

নতুন পৃষ্ঠা তৈরি এবং সেটিতে কন্টেন্ট যোগ করা

PDF ফাইলে নতুন পৃষ্ঠা যোগ করার জন্য, PDPage ক্লাস ব্যবহার করা হয়। পৃষ্ঠাটি তৈরি করার পর, আপনি এতে টেক্সট বা ছবি যোগ করতে পারবেন।

// Example of adding a new page to a PDF document using PDFBox
PDDocument document = new PDDocument();

// Create a new page
PDPage page = new PDPage(PDPage.PAGE_SIZE_A4);
document.addPage(page);

// Create a content stream to add content to the page
PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.beginText();
contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);
contentStream.newLineAtOffset(100, 700);
contentStream.showText("This is a new page with text.");
contentStream.endText();
contentStream.close();

// Save the document
document.save("new_page_example.pdf");
document.close();

এখানে একটি নতুন পৃষ্ঠা তৈরি করা হয়েছে এবং সেই পৃষ্ঠায় টেক্সট যোগ করা হয়েছে। PDPageContentStream দিয়ে পৃষ্ঠায় টেক্সট লেখা হয়েছে।


PDF ফাইলে ইমেজ যোগ করা

PDF ফাইলে ইমেজ এমবেড করা

PDF ফাইলে ইমেজ যোগ করার জন্য, PDImageXObject ব্যবহার করা হয়। এটি একটি ইমেজ ফাইল থেকে ছবি লোড করে এবং PDF পৃষ্ঠায় এমবেড করে।

// Example of adding an image to a PDF file using PDFBox
PDDocument document = new PDDocument();
PDPage page = new PDPage(PDPage.PAGE_SIZE_A4);
document.addPage(page);

// Load an image
PDImageXObject image = PDImageXObject.createFromFile("image.jpg", document);

// Create content stream
PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.drawImage(image, 100, 500); // X, Y position
contentStream.close();

// Save the document
document.save("pdf_with_image.pdf");
document.close();

এখানে একটি ইমেজ PDF ফাইলে এমবেড করা হয়েছে। drawImage মেথডের মাধ্যমে ছবিটি নির্দিষ্ট অবস্থানে বসানো হয়েছে।


PDF ফাইলে টেক্সট বা পৃষ্ঠা মুছে ফেলা

PDF ফাইল থেকে টেক্সট বা পৃষ্ঠা মুছে ফেলা

PDF ফাইলে থেকে পৃষ্ঠার মুছে ফেলা বা কিছু টেক্সট পরিবর্তন করার জন্য PDFBox ব্যবহার করা যেতে পারে, তবে এটি একটু জটিল। সাধারণত পৃষ্ঠার মুছে ফেলা বা পরিবর্তন করা সংক্রান্ত কাজ করার জন্য পুরো ফাইলটি পুনরায় তৈরি করা হয়।

// Example of removing a page from a PDF document using PDFBox
PDDocument document = PDDocument.load(new File("example.pdf"));
document.removePage(0); // Removes the first page

document.save("modified_pdf.pdf");
document.close();

এখানে প্রথম পৃষ্ঠা মুছে ফেলা হয়েছে এবং নতুন ফাইল সংরক্ষণ করা হয়েছে।


সারাংশ

অ্যাপাচি PDFBox লাইব্রেরি ব্যবহার করে PDF ফাইল ম্যানিপুলেশন সহজেই করা যায়। এটি PDF ফাইল থেকে টেক্সট এক্সট্র্যাক্ট, নতুন পৃষ্ঠা যোগ, ইমেজ এমবেড, এবং পৃষ্ঠা বা টেক্সট মুছে ফেলা সহ বিভিন্ন কার্যকলাপ করতে সহায়তা করে। অ্যাপাচি পিওআই মূলত Office ডকুমেন্টের জন্য ব্যবহৃত হলেও, PDF ফাইলের জন্য PDFBox একটি শক্তিশালী এবং নির্ভরযোগ্য অপশন।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...